Controller 与 HTTP 接口实现
- Controller的作用
- DTO 的作用
- 实现完整的HTTP接口定义
Controller 概念
Controllers are responsible for handling incoming requests and returning responses to the client.
负责处理输入的 request
请求并向客户端进行相应的。
MVC 模型
三层结构
DTO 的概念
数据传输对象(DTO
)(Data Transfer Object
),是一种设计模式之间传输数据的软件应用系统。数据传输目标往往是数据访问对象从数据库中检索数据。数据传输对象与数据交互对象或数据访问对象之间的差异是一个以不具有任何行为除了存储和检索的数据(访问和存取器)。
dtos/create-user.dto.ts
import { ApiProperty } from '@nestjs/swagger';
export class CreateUserDto {
/**
* 手机号(系统唯一)
*/
@ApiProperty({ example: '13611177421' })
readonly phoneNumber: string;
@ApiProperty({ example: '艾斯' })
name: string;
@ApiProperty({ example: '123456' })
password: string;
@ApiProperty({ example: 'answer0932@163.com' })
email: string;
}
userController.ts
export class UserController {
@ApiResponse({
status: HttpStatus.CREATED,
type: CreateUserDto,
})
create(@Body() createUserDto: CreateUserDto) {
return this.userService.create(createUserDto);
}
}